Refactoring MATLAB

نویسندگان

  • Soroush Radpour
  • Laurie J. Hendren
  • Max Schäfer
چکیده

MATLAB is a very popular dynamic “scripting” language for numerical computations used by scientists, engineers and students world-wide. MATLAB programs are often developed incrementally using a mixture of MATLAB scripts and functions, and frequently build upon existing code which may use outdated features. This results in programs that could benefit from refactoring, especially if the code will be reused and/or distributed. Despite the need for refactoring, there appear to be no MATLAB refactoring tools available. Furthermore, correct refactoring of MATLAB is quite challenging because of its non-standard rules for binding identifiers. Even simple refactorings are non-trivial. This paper presents the important challenges of refactoring MATLAB along with automated techniques to handle a collection of refactorings for MATLAB functions and scripts including: converting scripts to functions, extracting functions, and converting dynamic function calls to static ones. The refactorings have been implemented using the McLAB compiler framework, and an evaluation is given on a large set of MATLAB benchmarks which demonstrates the effectiveness of our approach.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme IX, Schloss Dagstuhl, Germany, April 24-26, 2013, Tagungsband Modellbasierte Entwicklung eingebetteter Systeme

In der modellbasierten Entwicklung eingebetteter Software, insbesondere im Automobilbereich, wird Matlab/Simulink verbreitet eingesetzt. Im Rahmen der Modellerstellung, -wartung und -pflege häufig benötigte Änderungen an den Modellen, wie die Restrukturierung der Modellstruktur und Generierung von Modellkonstrukten, werden überlicherweise manuell, mit den vorhandenen Modellierungsmitteln des Si...

متن کامل

Educational Effect of a Student Competition with Self-Driving Cars on Selected Software Engineering Topics

In der modellbasierten Entwicklung eingebetteter Software, insbesondere im Automobilbereich, wird Matlab/Simulink verbreitet eingesetzt. Im Rahmen der Modellerstellung, -wartung und -pflege häufig benötigte Änderungen an den Modellen, wie die Restrukturierung der Modellstruktur und Generierung von Modellkonstrukten, werden überlicherweise manuell, mit den vorhandenen Modellierungsmitteln des Si...

متن کامل

Assessing the Quality of Refactoring Patterns for Introducing Design Patterns

Refactoring is a well-known process to improve the code design of object-oriented programs. Recently, several literatures focus on refactoring with introducing design patterns that are general repeated solutions to common problems in software design. For making it easy to perform such refactoring, a lot of refactoring patterns are proposed. Each refactoring pattern includes a description of ref...

متن کامل

Assisting Refactoring Tool Development through Refactoring Characterization

Tool support for refactoring is widespread nowadays. The most widely known IDEs include refactoring support, and many refactoring-specific tools are also available. Developers are aware of refactoring activities and they do refactor their applications even manually or in an assisted way. For the users of refactoring tools, the current state of the art is well documented in refactoring catalogs,...

متن کامل

Why Don't People Use Refactoring Tools?

Tools that perform refactoring are currently under-utilized by programmers. As more advanced refactoring tools are designed, a great chasm widens between how the tools must be used and how programmers want to use them. In this position paper, we characterize the dominant process of refactoring, demonstrate that many research tools do not support this process, and initiate a call to action for d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013